import Vue from 'vue'
import Vuex from 'vuex'
import { setItem, getItem } from '@/utils/storage.js'

Vue.use(Vuex)

// 声明 token 的 key 值
const TOKNE_KEY = 'TOUTIAO_USER'

export default new Vuex.Store({
  state: {
    // 登录用户token信息
    user: getItem(TOKNE_KEY),
    // 用户个人信息
    userName: getItem('user'),
    // 上传文件
    fileList: [],
    // 附属文件
    affiliate: [],
    // 参与方
    recipien: [],
    // 任务名称
    controlName: '',
    // 业务类型
    businessType: [],
    // 截止时间
    signDate: '内容',
    // 到期时间
    expireDate: '内容',
    // 抄送方
    addresser: []
  },
  mutations: {
    setUser(state, data) {
      state.user = data
      // 本地存储
      setItem(TOKNE_KEY, state.user)
    },
    setUserName(state, data) {
      state.userName = data
      setItem('user', state.userName)
    },
    // 存储模板文件信息
    setFileList(state, data) {
      state.fileList.push(data)
    },
    // 附属文件
    setAffiliate(state, data) {
      state.affiliate.push(data)
    },
    // 参与方
    setRecipien(state, data) {
      state.recipien.push(data)
    },
    // 添加合同名称
    setControlName(state, data) {
      state.controlName = data
    },
    // 业务类型
    setBusinessType(state, data) {
      state.businessType = data
    },
    // 截止时间
    setSignDate(state, data) {
      state.signDate = data
    },
    // 到期时间
    setExpireDate(state, data) {
      state.expireDate = data
    },
    // 发件人
    setAddresser(state, data) {
      state.addresser.push(data)
    },
    // 删除参与人
    deleteSignar(state, index) {
      state.recipien.splice(index, 1)
    },
    // 删除抄送人
    deleteRecipien(state, index) {
      state.addresser.splice(index, 1)
    },
    // 删除全部数据
    deleteAll(state) {
      state.fileList = []
      state.affiliate = []
      state.recipien = []
      state.controlName = ''
      state.businessType = []
      state.signDate = '内容'
      state.expireDate = '内容'
      state.addresser = []
    }
  },
  actions: {
  },
  modules: {
  }
})
